const fs = require('fs')
const path = require('path')
const Mock = require('mockjs') // mockjs 导入依赖模块
const JSON5 = require('json5')
function getJsonFile(filePath) {
    // 读取指定json文件
    var json = fs.readFileSync(path.resolve(__dirname, filePath), 'utf-8');
    // 解析并返回
    return JSON5.parse(json);
}

// 返回一个函数
module.exports = function (app) {
    // // 监听http请求
    app.post('/login', function (rep, res) {

        // 每次相应请求时读取mock data的json文件
        // getJsonFile方法定义了如何读取json文件并解析成数据对象
        var json = getJsonFile('./userInfo.json5');
        // 将json传入Mock.mock方法中，生成的数据返回给浏览器
        res.json(Mock.mock(json));
    })
    app.get('/questionnaire', function (rep, res) {
        var json = getJsonFile('./questionnaire.json5');
        res.json(Mock.mock(json));
    })
    app.post('/users', function (rep, res) {
        var json = getJsonFile('./users.json5');
        res.json(Mock.mock(json));
    })
    app.delete('/questionnaire/1', function (rep, res) {
        var json = getJsonFile('./deleteQuestionnaire.json5');
        res.json(Mock.mock(json));
    })
    app.put('/release', function (rep, res) {
        var json = getJsonFile('./release.json5');
        res.json(Mock.mock(json));
    })
    app.get('/add', function (rep, res) {
        var json = getJsonFile('./add.json5');
        res.json(Mock.mock(json));
    })
    app.put('/fillin', function (rep, res) {
        var json = getJsonFile('./fillin.json5');
        res.json(Mock.mock(json));
    })
    app.post('/save', function (rep, res) {
        var json = getJsonFile('./save.json5');
        res.json(Mock.mock(json));
    })
    app.post('/submit', function (rep, res) {
        var json = getJsonFile('./submit.json5');
        res.json(Mock.mock(json));
    })
    app.post('/data', function (rep, res) {
        var json = getJsonFile('./data.json5');
        res.json(Mock.mock(json));
    })
    app.post('/edit', function (rep, res) {
        var json = getJsonFile('./edit.json5');
        res.json(Mock.mock(json));
    })
    app.post('/recover', function (rep, res) {
        var json = getJsonFile('./recover.json5');
        res.json(Mock.mock(json));
    })
}